package com.example.study2.constructor;

import java.util.ArrayList;
/*
指定容量构造方法
预先分配指定大小的内部数组
避免频繁扩容带来的性能开销
适合已知数据量或需要批量处理的场景*/
public class CapacityConstructorExample {
    public static void main(String[] args) {
        // 预分配容量为1000的ArrayList，适合已知数据量大的场景
        ArrayList<Integer> numbers = new ArrayList<>(1000);

        // 批量添加数据，不会触发扩容
        for (int i = 0; i < 500; i++) {
            numbers.add(i * 2);  // 添加500个元素，远未达到容量上限
        }

        System.out.println("列表大小: " + numbers.size());
        System.out.println("前5个元素: " + numbers.subList(0, 5));

        // 错误示例：容量不能为负数
        try {
            ArrayList<String> invalidList = new ArrayList<>(-1);
        } catch (IllegalArgumentException e) {
            System.out.println("错误信息: " + e.getMessage());
        }
    }
}
